ScriptX FrameWork

ScriptX is a rich cross-platform environment for developing and distributing multimedia tools, titles, and other interactive media.  The ScriptX Language and Class Library enables the creation of multimedia applications, while the Kaleida Media Player enables their delivery.

The ScriptX Language and Class Library consists of a full-featured scripting language, derived from an extensible object-oriented programming model, and the core classes library, which defines a wide range of objects for modeling and presenting multimedia works.

The Kaleida Media Player (KMP) is the consumer run-time platform for titles developed with ScriptX.  Like other media players, KMP can composite and display all multimedia data types in an integrated audio-visual presentation.  It defines an event system for handling user input, a memory allocation scheme, a file system, control mechanisms for external devices, and so on.  However, the Kaleida Media Player is unique in implementing these features entirely in software.  Thus KMP is a virtual multimedia device that can be deployed on any number of multimedia hardware devices

This book focuses on the components that make up the ScriptX class library and define the ScriptX development framework.  This chapter examines the objectives that led to the development of ScriptX and the categories of user interaction that drove many of the architectural requirements.  It then provides a brief overview of the main components of the ScriptX development framework.

Chapter 2 looks at some hypothetical examples to show how the components interact from a programmer's perspective.  The remaining chapters look at each system component in greater detail.  The ScriptX Core Classes Reference presents the public application programming interface (API) for all the classes in the Core Class library.

Motivating Influences

The design and development of ScriptX have been driven by the following objectives:

- to provide an enabling architecture for developing and delivering new forms of information and entertainment media in a compelling, easy-to-use, and reliable format

- to provide a general-purpose scripting language, built-in media support, and a flexible customization paradigm so that developers can express the design of their products fully and naturally.

- to create a software abstraction of a multimedia engine that will enable the playback of content on a variety of hardware and software platforms

- to encourage the adoption of ScriptX as a standard across existing and emerging markets

To understand what features would meet these objectives, the architects of ScriptX studied a broad range of information models and user interactions.  The following sections describe the most important of these influences.  The architectural goal of the ScriptX Language and Class Library and the Kaleida Media Player is to provide simultaneous support of multiple information models and user interactions.